Skip to content

feat(release): publish standalone openshell-gateway binaries#853

Merged
drew merged 9 commits intomainfrom
drew/os-85-release-standalone-openshell-gateway-binary-from-openshell
Apr 16, 2026
Merged

feat(release): publish standalone openshell-gateway binaries#853
drew merged 9 commits intomainfrom
drew/os-85-release-standalone-openshell-gateway-binary-from-openshell

Conversation

@drew
Copy link
Copy Markdown
Collaborator

@drew drew commented Apr 15, 2026

Summary

Publish standalone openshell-gateway release artifacts from the existing openshell-server crate without changing the current container/runtime naming or openshell gateway start behavior.

Related Issue

Linear: https://linear.app/nvidia/issue/OS-85/release-standalone-openshell-gateway-binary-from-openshell-server

Changes

  • add a shared openshell-server CLI entrypoint and a new openshell-gateway binary
  • embed sqlite and postgres migrations so the standalone binary no longer depends on checkout-relative migration paths
  • extend release-dev.yml and release-tag.yml to publish GNU Linux and macOS ARM64 openshell-gateway tarballs plus a dedicated checksum file
  • update the support matrix and architecture docs for the new standalone gateway artifact

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (if applicable)
  • cargo check -p openshell-server
  • cargo test -p openshell-server cli::tests -- --nocapture
  • cargo test -p openshell-server sqlite_connect_runs_embedded_migrations -- --nocapture
  • release workflows and the macOS cross-build path were not run locally

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

@drew drew requested a review from a team as a code owner April 15, 2026 19:29
@drew drew self-assigned this Apr 15, 2026
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Apr 15, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions
Copy link
Copy Markdown

@drew drew force-pushed the drew/os-85-release-standalone-openshell-gateway-binary-from-openshell branch from e7ceb9c to 9106a0e Compare April 16, 2026 06:56
drew added 2 commits April 16, 2026 00:00
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew drew force-pushed the drew/os-85-release-standalone-openshell-gateway-binary-from-openshell branch from 9106a0e to a48cad6 Compare April 16, 2026 07:15
TaylorMutch
TaylorMutch previously approved these changes Apr 16, 2026
- Add build-supervisor-binary-linux job for amd64/arm64 standalone binaries
- Add supervisor Docker image target to Dockerfile.images
- Add build-supervisor docker build job and GHCR tagging
- Wire supervisor artifacts into GitHub Release (tarballs + checksums)
- Remove unnecessary workspace scoping sed from CLI and gateway builds
drew added 2 commits April 16, 2026 09:12
Mirror release-tag changes: build supervisor Docker image, standalone
Linux binaries (amd64/arm64), GHCR dev tagging, checksums, and release
assets. Also remove unnecessary workspace scoping sed from CLI and
gateway builds.
TaylorMutch
TaylorMutch previously approved these changes Apr 16, 2026
Remove the separate openshell-gateway binary entrypoint. The
openshell-server crate now produces a single binary (openshell-server)
from src/main.rs. Simplify cli.rs by removing the program_name
parameter. Rename standalone release artifacts from openshell-gateway-*
to openshell-server-*. Rename Dockerfile.gateway-macos to
Dockerfile.server-macos. Remove unused docker:build:supervisor task
alias.
drew added 3 commits April 16, 2026 14:09
Remove the separate openshell-server binary entrypoint. The
openshell-server crate now produces a single binary (openshell-gateway)
from src/main.rs. Simplify cli.rs by removing the program_name
parameter. Update Dockerfile.images and Dockerfile.gateway-macos to
remove bin/ skeleton stubs. Update container ENTRYPOINT to
openshell-gateway. Remove unused docker:build:supervisor task alias.
…eway-macos syntax

The docker-build.yml reusable workflow invokes mise tasks via
docker:build:$component, so the supervisor alias is required.
Also fix a missing && separator in the Dockerfile.gateway-macos
mkdir/touch skeleton stage that caused the server src dir to not
be created.
@drew drew force-pushed the drew/os-85-release-standalone-openshell-gateway-binary-from-openshell branch from abf1703 to ee99416 Compare April 16, 2026 23:14
@drew drew added test:e2e Requires end-to-end coverage labels Apr 16, 2026
@drew drew merged commit 5718553 into main Apr 16, 2026
41 checks passed
@drew drew deleted the drew/os-85-release-standalone-openshell-gateway-binary-from-openshell branch April 16, 2026 23:58
ericksoa pushed a commit to NVIDIA/NemoClaw that referenced this pull request Apr 23, 2026
## Summary
Bumps the pinned OpenShell version range from `0.0.29` → `0.0.32` so
fresh NemoClaw installs pick up sandbox hardening and TLS improvements
from the last three OpenShell releases.

## Notable upstream changes

**0.0.30**
([NVIDIA/OpenShell@v0.0.29...v0.0.30](NVIDIA/OpenShell@v0.0.29...v0.0.30))
- Network policy deny rules
([OpenShell#822](NVIDIA/OpenShell#822))
- Preserve ownership on existing `read_write` paths
([OpenShell#827](NVIDIA/OpenShell#827))
- Disable child core dumps
([OpenShell#821](NVIDIA/OpenShell#821))
- Escape control characters in SSE error formatting
([OpenShell#842](NVIDIA/OpenShell#842))
- Fix silent truncation of large streaming inference responses
([OpenShell#834](NVIDIA/OpenShell#834))

**0.0.31**
([NVIDIA/OpenShell@v0.0.30...v0.0.31](NVIDIA/OpenShell@v0.0.30...v0.0.31))
- Inference routed-request header allowlist
([OpenShell#826](NVIDIA/OpenShell#826))

**0.0.32**
([NVIDIA/OpenShell@v0.0.31...v0.0.32](NVIDIA/OpenShell@v0.0.31...v0.0.32))
- **Load system CA certificates for upstream TLS connections**
([OpenShell#862](NVIDIA/OpenShell#862))
- Publish standalone `openshell-gateway` binaries
([OpenShell#853](NVIDIA/OpenShell#853))

## Changes
- `nemoclaw-blueprint/blueprint.yaml`: `min_openshell_version` and
`max_openshell_version` → `0.0.32`
- `scripts/install-openshell.sh`: `MIN_VERSION` and `MAX_VERSION` →
`0.0.32` (`PIN_VERSION` follows `MAX`)
- `scripts/brev-launchable-ci-cpu.sh`: default `OPENSHELL_VERSION` →
`v0.0.32`
- `src/lib/onboard.ts`: blueprint-fallback min version → `0.0.32`
- `test/onboard.test.ts`,
`test/install-openshell-version-check.test.ts`: fixtures updated; "above
MAX" test case moved from `0.0.30` to `0.0.33`

Historical `m-dev` comments referencing `0.0.29` left in place — they
describe a self-report quirk the sidecar fallback still handles.

## Why not 0.0.33+?
`0.0.34` introduced incremental sandbox policy updates and L7
request-target canonicalization — changes with larger surface area
against how NemoClaw delivers policy via gRPC. Worth a follow-up PR
rather than bundling here. `0.0.35` released hours before this PR was
cut — too fresh.

## Type of Change
- [x] Code change for a new feature, bug fix, or refactor.

## Testing
- [x] `npx vitest run test/install-openshell-version-check.test.ts` — 9
passed
- [x] pre-commit hooks (prek) clean: shellcheck, commitlint, gitleaks,
YAML validator, CLI test suite
- [ ] Nightly E2E on this branch — will be kicked off after PR opens

## Notes
- No user-facing CLI behavior changes — just the pinned version range.
- Two pre-existing failures in `test/onboard.test.ts` reproduce on clean
`main` and are unrelated to this bump.

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Updated OpenShell version constraints and default pinned version to
v0.0.32 across configuration, install, and onboarding flows.

* **Tests**
* Updated test fixtures and expectations to match the new OpenShell
version (v0.0.32).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
FloHofstetter added a commit to FloHofstetter/shoreguard that referenced this pull request Apr 23, 2026
…pin bump)

Re-verified parity against NVIDIA/OpenShell v0.0.32 and
origin/main@e39bb380. All four upstream .proto files are
byte-identical across v0.0.30 → v0.0.32 → origin/main, so the
generated stubs remain wire-parity without regeneration.

Docs bumped from v0.0.26 to v0.0.32 as the recommended pin.
Added a routed-inference admonition for the upstream header
sanitization added in NVIDIA/OpenShell#826 and an installation
tip about the standalone openshell-gateway binary published in
NVIDIA/OpenShell#853. Internal watchlist of unmerged upstream
feature branches (os-81 incremental policy merge,
supervisor-session relay, l7-path-canonicalization,
runtime-policy-revision) recorded in the CHANGELOG for a future
milestone.

No code changes, no schema changes, no new dependencies. Full
pytest -n auto baseline stayed green at 3042 passed, 1 skipped.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:e2e Requires end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants